﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using lineage2.commons.collections;
using Enum = java.lang.Enum;

namespace Game.templates.item.support
{
    public class FishTemplate
    {
        private Enum _group;
	   
	    private Enum _grade;
	   
	    private double _biteRate;
	   
	    private double _guts;
	   
	    private double _lengthRate;
	    
	    private double _hpRegen;
	    
	    private double _gutsCheckProbability;
	   
	    private double _cheatingProb;
	    
	    private int _itemId;
	    
	    private int _hp;
	   
	    private int _level;
	   
	    private int _maxLength;
	    
	    private int _startCombatTime;
	   
	    private int _combatDuration;
	   
	    private int _gutsCheckTime;
        public FishTemplate(MultiValueSet map)
	    {
		    _group = map.getEnum("group", typeof (FishGroup));
		    _grade = map.getEnum("grade", typeof (FishGrade));
		    _biteRate = map.getDouble("bite_rate");
		    _guts = map.getDouble("guts");
		    _lengthRate = map.getDouble("length_rate");
		    _hpRegen = map.getDouble("hp_regen");
		    _gutsCheckProbability = map.getDouble("guts_check_probability");
		    _cheatingProb = map.getDouble("cheating_prob");
		    _itemId = map.getInteger("item_id");
		    _level = map.getInteger("level");
		    _hp = map.getInteger("hp");
		    _maxLength = map.getInteger("max_length");
		    _startCombatTime = map.getInteger("start_combat_time");
		    _combatDuration = map.getInteger("combat_duration");
		    _gutsCheckTime = map.getInteger("guts_check_time");
	    }
        public Enum getGroup()
        {
            return _group;
        }
        public Enum getGrade()
        {
            return _grade;
        }
        public double getBiteRate()
        {
            return _biteRate;
        }
        public double getGuts()
        {
            return _guts;
        }
        public double getLengthRate()
        {
            return _lengthRate;
        }
        public double getHpRegen()
        {
            return _hpRegen;
        }
        public double getGutsCheckProbability()
        {
            return _gutsCheckProbability;
        }
        public double getCheatingProb()
        {
            return _cheatingProb;
        }
        public int getItemId()
        {
            return _itemId;
        }
        public int getHp()
        {
            return _hp;
        }
        public int getLevel()
        {
            return _level;
        }
        public int getMaxLength()
        {
            return _maxLength;
        }
        public int getStartCombatTime()
        {
            return _startCombatTime;
        }
        public int getCombatDuration()
        {
            return _combatDuration;
        }
        public int getGutsCheckTime()
        {
            return _gutsCheckTime;
        }
    }
}
